#pragma once
#pragma managed
//////////////////////////////////////////////////////////////////////////
using namespace System;
//////////////////////////////////////////////////////////////////////////
NAMESPACE_BEGIN
//////////////////////////////////////////////////////////////////////////
/// <summary>
/// CvErrorCode
/// </summary>
public enum class ErrorCode
{
	/// <summary>
	/// everything is ok
	/// </summary>
	StsOk = CV_StsOk,
	/// <summary>
	/// pseudo error for back trace
	/// </summary>
	StsBackTrace = CV_StsBackTrace,
	/// <summary>
	/// unknown /unspecified error
	/// </summary>
	StsError = CV_StsError,
	/// <summary>
	/// internal error (bad state)
	/// </summary>
	StsInternal = CV_StsInternal,
	/// <summary>
	/// insufficient memory
	/// </summary>
	StsNoMem = CV_StsNoMem,
	/// <summary>
	/// function arg/param is bad
	/// </summary>
	StsBadArg = CV_StsBadArg,
	/// <summary>
	/// unsupported function
	/// </summary>
	StsBadFunc = CV_StsBadFunc,
	/// <summary>
	/// iter. didn't converge
	/// </summary>
	StsNoConv = CV_StsNoConv,
	/// <summary>
	/// tracing
	/// </summary>
	StsAutoTrace = CV_StsAutoTrace,

	/// <summary>
	/// image header is NULL
	/// </summary>
	HeaderIsNull = CV_HeaderIsNull,
	/// <summary>
	/// image size is invalid
	/// </summary>
	BadImageSize = CV_BadImageSize,
	/// <summary>
	/// offset is invalid
	/// </summary>
	BadOffset = CV_BadOffset,
	BadDataPtr = CV_BadDataPtr,
	BadStep = CV_BadStep,
	BadModelOrChSeq = CV_BadModelOrChSeq,
	BadNumChannels = CV_BadNumChannels,
	BadNumChannel1U = CV_BadNumChannel1U,
	BadDepth = CV_BadDepth,
	BadAlphaChannel = CV_BadAlphaChannel,
	BadOrder = CV_BadOrder,
	BadOrigin = CV_BadOrigin,
	BadAlign = CV_BadAlign,
	BadCallBack = CV_BadCallBack,
	BadTileSize = CV_BadTileSize,
	BadCOI = CV_BadCOI,
	BadROISize = CV_BadROISize,

	MaskIsTiled = CV_MaskIsTiled,

	/// <summary>
	/// null pointer
	/// </summary>
	StsNullPtr = CV_StsNullPtr,
	/// <summary>
	/// incorrect vector length
	/// </summary>
	StsVecLengthErr = CV_StsVecLengthErr,
	/// <summary>
	/// incorr. filter structure content
	/// </summary>
	StsFilterStructContentErr = CV_StsFilterStructContentErr,
	/// <summary>
	/// incorr. transform kernel content
	/// </summary>
	StsKernelStructContentErr = CV_StsKernelStructContentErr,
	/// <summary>
	/// incorrect filter ofset value
	/// </summary>
	StsFilterOffsetErr = CV_StsFilterOffsetErr,

	/*extra for CV */
	/// <summary>
	/// the input/output structure size is incorrect
	/// </summary>
	StsBadSize = CV_StsBadSize,
	/// <summary>
	/// division by zero
	/// </summary>
	StsDivByZero = CV_StsDivByZero,
	/// <summary>
	/// in-place operation is not supported
	/// </summary>
	StsInplaceNotSupported = CV_StsInplaceNotSupported,
	/// <summary>
	/// request can't be completed
	/// </summary>
	StsObjectNotFound = CV_StsObjectNotFound,
	/// <summary>
	/// formats of input/output arrays differ
	/// </summary>
	StsUnmatchedFormats = CV_StsUnmatchedFormats,
	/// <summary>
	/// flag is wrong or not supported
	/// </summary>
	StsBadFlag = CV_StsBadFlag,
	/// <summary>
	/// bad CvPoint
	/// </summary>
	StsBadPoint = CV_StsBadPoint,
	/// <summary>
	/// bad format of mask (neither 8uC1 nor 8sC1)
	/// </summary>
	StsBadMask = CV_StsBadMask,
	/// <summary>
	/// sizes of input/output structures do not match
	/// </summary>
	StsUnmatchedSizes = CV_StsUnmatchedSizes,
	/// <summary>
	/// the data format/type is not supported by the function
	/// </summary>
	StsUnsupportedFormat = CV_StsUnsupportedFormat,
	/// <summary>
	/// some of parameters are out of range
	/// </summary>
	StsOutOfRange = CV_StsOutOfRange,
	/// <summary>
	/// invalid syntax/structure of the parsed file
	/// </summary>
	StsParseError = CV_StsParseError,
	/// <summary>
	/// the requested function/feature is not implemented
	/// </summary>
	StsNotImplemented = CV_StsNotImplemented,
	/// <summary>
	/// an allocated block has been corrupted
	/// </summary>
	StsBadMemBlock = CV_StsBadMemBlock,
	/// <summary>
	/// assertion failed
	/// </summary>
	StsAssert = CV_StsAssert,
};
//////////////////////////////////////////////////////////////////////////
NAMESPACE_END